package com.zhanghp.class01;

import java.util.concurrent.CompletableFuture;

/**
 * 运算符操作
 *
 * @author zhanghp
 * @date 2023/8/7 13:50
 */
public class ArithmeticOperation {

    public static void main(String[] args) {
        orOperation();
        andOperation();
        xorOperation();
    }

    /**
     * 或运算
     * <ul>
     *     <li>
     *         如果两个位中至少有一个为1，则结果位为1。
     *     </li>
     *     <li>
     *         如果两个位都为0，则结果位为0。
     *     </li>
     * </ul>
     */
    public static void orOperation() {
        // 0101
        int a = 5;
        // 0100
        int b = 4;
        // 0101
        // 0100
        //------
        // 0101
        System.out.println(a | b);
    }

    /**
     * 与运算
     * <ul>
     *     <li>
     *         如果两个位都为1，则结果位为1。
     *     </li>
     *     <li>
     *         如果两个位中至少有一个为0，则结果位为0。
     *     </li>
     * </ul>
     */
    public static void andOperation() {
        // 0101
        int a = 5;
        // 0100
        int b = 4;
        // 0101
        // 0100
        //------
        // 0100
        System.out.println(a & b);
    }

    /**
     * 异或运算
     * <ul>
     *     <li>
     *         如果两个位相同（都为0或都为1），则结果位为0。
     *     </li>
     *     <li>
     *         如果两个位不同（一个为0，另一个为1），则结果位为1。
     *     </li>
     * </ul>
     *
     */
    public static void xorOperation(){
        // 0101
        int a = 5;
        // 0100
        int b = 4;
        // 0101
        // 0100
        //------
        // 0001
        System.out.println(a ^ b);
    }

//    private boolean safeEqual(String a, String b) {
//        if(a.length() != b.length()) {
//            return false;
//        }
//        for (int i=0; int equal = a.charAt(i) ^ b.charAt(i));
//        if (equal != 0) {
//            return false;
//        }
//        return true;
//    }
//
//}

}
